<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>

		<h1>飞行控制器（[name]）</h1>

		<p class="desc">
			[name] 启用了一种类似于数字内容创建工具（例如Blender）中飞行模式的导航方式。
			你可以在3D空间中任意变换摄像机，并且无任何限制（例如，专注于一个特定的目标）。
		</p>

		<h2>例子</h2>

		<p>[example:misc_controls_fly misc / controls / fly ]</p>

		<h2>构造函数</h2>

		<h3>[name]( [param:Camera object], [param:HTMLDOMElement domElement] )</h3>
		<p>
			<p>
				[page:Camera object]: 被控制的摄像机。
			</p>
			<p>
				[page:HTMLDOMElement domElement]: 用于事件监听的HTML元素。
			</p>
			<p>
				创建一个新的 [name] 实例。
			</p>
		</p>

		<h2>Events</h2>

		<h3>change</h3>
		<p>
			Fires when the camera has been transformed by the controls.
		</p>

		<h2>属性</h2>

		<h3>[property:Boolean autoForward]</h3>
		<p>
			若该值设为*true*，初始变换后，摄像机将自动向前移动（且不会停止）。默认为*false*。
		</p>

		<h3>[property:HTMLDOMElement domElement]</h3>
		<p>
			该 HTMLDOMElement 用于监听鼠标/触摸事件，该属性必须在构造函数中传入。在此处改变它将不会设置新的事件监听。
		</p>

		<h3>[property:Boolean dragToLook]</h3>
		<p>
			若该值设为*true*，你将只能通过执行拖拽交互来环视四周。默认为*false*。
		</p>

		<h3>[property:Number movementSpeed]</h3>
		<p>
			移动速度，默认为*1*。
		</p>

		<h3>[property:Camera object]</h3>
		<p>
			被控制的摄像机。
		</p>

		<h3>[property:Number rollSpeed]</h3>
		<p>
			旋转速度。默认为*0.005*。
		</p>

		<h2>方法</h2>

		<h3>[method:undefined dispose] ()</h3>
		<p>
			若不再需要该控制器，则应当调用此函数。
		</p>

		<h3>[method:undefined update] ( [param:Number delta] )</h3>
		<p>
			<p>
				[page:Number delta]: Time delta value.
			</p>
			<p>
				更新控制器，常被用在动画循环中。
			</p>
		</p>

		<h2>源代码</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/FlyControls.js examples/jsm/controls/FlyControls.js]
		</p>
	</body>
</html>
